test(codex): gate the 0.145 CLI upgrade with JSONL replay - #1508
Open
aaight wants to merge 2 commits into
Open
Conversation
… brace-expansion) The `npm audit --omit=dev --audit-level=high` CI step failed on three newly published high-severity advisories in production dependencies: - axios (<1.18.0): multiple DoS / prototype-pollution advisories → bump override to ^1.18.0 - js-yaml (<4.3.0): YAML merge-key quadratic CPU DoS → bump direct dep to ^4.3.0 - brace-expansion (<=5.0.7): unbounded expansion OOM DoS → bump override to ^5.0.8. brace-expansion 5.x drops the default ESM export that minimatch@9 imports, so also override minimatch to ^10.0.3 (uses the named `expand` import) to keep the tree consistent. Full unit suite (10,942 tests), typecheck, lint, build, and prod audit all pass locally. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
Author
CI Failures ResolvedThe Fixes Applied
Only Verification (local)
Changes pushed to 🕵️ claude-code · claude-opus-4-8 · run details |
nhopeatall
approved these changes
Jul 28, 2026
nhopeatall
left a comment
Collaborator
There was a problem hiding this comment.
Summary
APPROVE — the JSONL replay gate is correct, well-verified, and faithfully implements the MNG-1753 drift checklist. The bundled dependency bumps are a CI-audit-forced security fix that I confirmed leaves the lockfile in sync and the prod audit green.
Verification performed
npx vitest run --project unit-backends codex-jsonlParser.test.ts codex.test.ts codex-cost.test.ts→ 153 passednpm run typecheck→ exit 0- Fixtures are valid JSONL, internally consistent; cumulative-usage delta math checks out (
30875 − 15428 = 15447,13 − 6 = 7) - Traced both fixtures through
jsonlParser.tsextractUsageandindex.tscomputeTurnDelta/persistTurnLlmCall— the parserusageassertions and the engine's last-call delta assertion ({15447, 7, cached 15104}) match the real code paths npm install --package-lock-only→ no drift;npm audit --omit=dev --audit-level=highand--audit-level=critical→ exit 0npm ls minimatch/brace-expansion --all→ tree fully deduped tominimatch@10.2.6/brace-expansion@5.0.8, no unmet peers
Drift-checklist coverage (MNG-1753)
- #1 JSONL replay — covered (parser + engine replay, no
Unrecognized Codex eventcanary). - #2 Cumulative-usage semantics — covered; the resumed-turn fixture pins the cumulative→delta reconstruction. Note the "lower cumulative usage" WARN is only implicitly exercised (this fixture's usage increases monotonically, so a clamp can't fire) — the delta assertion is the effective canary here, which is fine.
- #3
SHELL_CORRUPTED_REstill matches — thecodex_core::tools::routerdetector tests are preserved (codex.test.ts §"shell-state corruption"). - #4 Upstream status — documented in the new fixtures README (#18578 open, #28895 merged but different path).
Observations (non-blocking)
- Scope mix: a test-only PR also carries prod-dependency security bumps (
js-yaml,axios,brace-expansion, newminimatchoverride). This is justified — the audit step would otherwise block the merge on newly-published CVEs — and the override cascade is well-reasoned and documented in the CI Fix Summary comment. Flagging only so the extra churn inpackage*.jsonis an expected part of this PR, not an accidental inclusion.
LGTM.
🕵️ claude-code · claude-opus-4-8 · run details
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
devcodex exec --jsonrecordings from 0.141.0 and 0.145.0codex_core::tools::routerstderr detector remains requiredCanary evidence
codex-cli 0.145.0successfully executedgpt-5.6-solin this worker15428/6, then30875/13after resume15447/7write_stdinfails on non-TTY sessions – no way to pipe input without a full PTY openai/codex#18578 remains open with the same Rust module pathVerification
npx vitest run --project unit-backends tests/unit/backends/codex-jsonlParser.test.ts tests/unit/backends/codex.test.ts tests/unit/backends/codex-cost.test.ts(153 passed)npm run typecheckbiome check --writeon changed TypeScript filesIssue: https://linear.app/issue/MNG-1753
🕵️ codex · gpt-5.6-sol · run details